The present invention relates to communications in computer networks. More specifically, it relates to a method for automatic determination of priority data streams on a computer network that can be used for quality-of-service and other purposes.
Many computer networks are used to provide multimedia content including audio, video, graphics and text. For example, voice can be used over the Internet Protocol (xe2x80x9cIPxe2x80x9d) to provide Voice over IP (xe2x80x9cVoIPxe2x80x9d) services. As is known in the art, the Internet Protocol is a routing protocol designed to route traffic within a network or between networks. Multimedia protocols such as the International Telecommunications Union-Telecommunication Standardization Sector (xe2x80x9cITU-Txe2x80x9d, formerly known as the xe2x80x9cCCITTxe2x80x9d) H.323 and H.324 protocols are also used to provide multimedia content over computer networks. As is known in the art, H.323 is one of the main families of video conferencing protocols for Internet Protocol networks. H.324 is a video conferencing protocol used over Plain Old Telephone Service (xe2x80x9cPOTSxe2x80x9d) lines.
When using multimedia content on a computer network, it is important that data packets arrive at about the xe2x80x9csame timexe2x80x9d to provide the appropriate multimedia content. For example, if multimedia content is being used to provide video teleconferencing, the audio and video data packets should arrive at the same time to provide audio/video synchronization. If audio and video are not synchronized to provide xe2x80x9clipxe2x80x9d synchronization, a video teleconference is difficult to follow and leads to user frustration. Data synchronization is often also necessary with audio/video synchronization (e.g., a document is visually displayed and altered during a video teleconference).
In a xe2x80x9cbest-effortxe2x80x9d computer network like the Internet and many intranets, multimedia data packets are often delayed due to other competing data traffic that is being sent at the same time. As is known in the art, a number of transmission methods have been used to try and provide a reliable way to allow multimedia data packets to arrive at the same time. However, there are a number of problems associated with these methods known in the art.
There have been attempts to use Class-of-Service (xe2x80x9cCoSxe2x80x9d), Quality-of-Service (xe2x80x9cQoSxe2x80x9d) or Type-of-Service (xe2x80x9cToSxe2x80x9d) parameters in routers and switches in computer networks. As is known in the art, a router routes data packets to an appropriate device on a network topology. A switch switches data among multiple channels and/or time slots. A Class-of-Service provides a reliable (i.e., error free, in sequence, with no loss of duplication) transport facility independent of the Quality-of-Service. Class-of-service parameters typically include maximum downstream data rates, maximum upstream data rates, upstream channel priority, guaranteed minimum data rates, guaranteed maximum data rate and other parameters.
Quality-of-service collectively specifies the performance of a network service that a device expects on a network. Quality-of-service parameters typically include transit delay expected to deliver data to a specific destination, the level of protection from unauthorized monitoring or modification of data, cost for delivery of data, expected residual error probability, the relative priority associated with the data and other parameters.
Type-of-Service specifies network tradeoffs that can be made to deliver data. Type-of-Service parameters typically include minimize delay, maximize throughput, maximize reliability, minimize monetary cost and other parameters.
A router or switch on a computer network may examine a Quality-of-Service or a Class-of-Service parameter to determine if a multimedia packet should be given a higher priority than a xe2x80x9cstandardxe2x80x9d or non-multimedia data packet. For example, the Institute of Electrical and Electronic Engineers (xe2x80x9cIEEExe2x80x9d) 802.1P and 802.1Q standards allow Class-of-Service tags or Type-of-Service tags to be attached to data packets to flag them as higher priority. However, 802.1P and 801.2Q are data-link layer tags and every router or switch along a transmission route must use the same data-link methods to examine the Class-of-Service or Type-of-Service parameters for the multimedia packets to be given a higher priority.
Another method known in the art is to coordinate packet arrival services at the endpoints of a connection. For example, the Internet Engineering Task Force (xe2x80x9cIETFxe2x80x9d) Resource ReSerVation Protocol (xe2x80x9cRSVPxe2x80x9d) can be used for end-to-end signaling to indicate that a particular data stream is a priority data stream. However, it is common to find endpoint devices that do not support RSVP or other packet arrival services. Therefore, endpoint packet arrival services may not be easily used for multimedia packets on various types of computer networks.
Thus, it is desirable to provide a method for automatically determining priority streams for Quality-of-Service and other purposes on a computer network. The method should be useable in routers, switches as well as for end-to-end signaling.
In accordance with preferred embodiments of the present invention, some of the problems associated with transmitting multimedia data packets at a higher priority are overcome. Methods and system for automatic determination of priority data streams on a computer network are provided.
One aspect of the invention includes a method for calculating a data traffic signature for a data stream using one or more of an average packet spacing, average packet size, average packet jitter or variation in packet size parameters calculated for data packets in a data stream. Another aspect of the invention includes a method for calculating an optimized data signature for a data stream using one or more of an optimized average packet spacing, optimized average packet size, optimized average packet jitter or optimized variation in packet size parameters. Another aspect of the invention includes a method for using a calculated data traffic signature. The calculated data traffic signatures is used to determine whether the calculated data traffic signature matches a known data traffic signature for a known type of data stream, such as a known multimedia data stream. If a calculated data traffic signature matches a known data traffic signature for a known type of data stream, such as a multimedia data stream, resources are allocated on a network device to provide a desired processing priority to data packets in the data stream.
Another aspect of the invention includes a method for adjusting data stream traffic using a data traffic signature. Data packets in data stream with a desired processing priority associated with a calculated data traffic signature may be sent and received before any other data packets from other data streams. The desired processing priority may include a desired Quality-of-Service (xe2x80x9cQoSxe2x80x9d).
Another aspect of the invention includes a data traffic system. The data traffic system includes a data traffic signature calculator, multiple data traffic signatures for known multimedia data streams, multiple data structures and a data buffer. In one preferred embodiment of the present invention, the data streams for preferred embodiments of the present invention include multimedia data streams including any of voice, video or graphical data packets.
The methods and system described herein may provide a way to automatically determine a data stream type and to provide a processing priority including a Quality-of-Service to multimedia data packets in a determined multimedia data stream. The multimedia data packets given priority can arrive with a lower latency and thus help eliminate audio/video and lip synchronization problems as well as reduce packet jitter.
The foregoing and other features and advantages of preferred embodiments of the present invention will be more readily apparent from the following detailed description. The detailed description proceeds with references to the accompanying drawings.